package com.dongpl.utils;

import java.util.Arrays;

/**
 * 冒泡排序
 */
public class BubbleSort {

    public int[] sort(int[] sourceArray) throws Exception {
        // 对 ints 进行拷贝，不改变参数内容
        int[] ints = Arrays.copyOf(sourceArray, sourceArray.length);
        for (int i = 0; i < ints.length; i++) {
            // 设定一个标记，若为true，则表示此次循环没有进行交换，也就是待排序列已经有序，排序已经完成。
            boolean flag = true;
            for (int j = 0; j < ints.length - i; j++) {
                if (ints[j] > ints[j+1]){
                    int temp = ints[j];
                    ints[j] = ints[j+1];
                    ints[j+1] = temp;
                    flag = false;
                }
            }
            if (flag){
                break;
            }
        }
        return ints;
    }

}
